//================================================================
var arr = ['G', 'B', 'C', 'D', 'E', 'F', 'G']; console.log(arr.slice(0, 3));  // 类似于 str 的 substring
arr.push('jrp'); console.log(arr);  // 尾部添加
arr.pop(); console.log(arr);  // 去掉尾部最后一个
arr.unshift('dr'); console.log(arr);  // 在首部添加 push
arr.shift(); console.log(arr);  // 从首部 pop
console.log(arr.sort(), arr.reverse());  // 竟然直接改变了原始数据, 好逆天...
//================================================================
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];  // 从索引 2 开始删除 3 个元素, 然后再添加两个元素
arr.splice(2, 3, 'Google', 'Facebook');  // 返回删除的元素 ['Yahoo', 'AOL', 'Excite']
arr;  // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
arr.splice(2, 2); // ['Google', 'Facebook'], 只删除,不添加
arr;  // ['Microsoft', 'Apple', 'Oracle']
arr.splice(2, 0, 'Google', 'Facebook');  // 返回 [],因为没有删除任何元素, 只添加, 不删除
arr; // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
//================================================================
var arr = ['A', 'B', 'C'], added = arr.concat([1, 2, 3]);
console.log(added, arr);  // concat() 这个没有修改原始数据 ... OuO
console.log(arr.concat(1, 2, [3, 4]));  // concat() 方法可以接收任意个元素和 Array, 并且自动把 Array 拆开, 然后全部添加到新的 Array 里
console.log(arr.join('-'));  // 用 - 连接起来
//================================================================
var arr = [[1, 2, 3], [400, 500, 600], '-'];  // 多维数组
console.log(arr.length);  // 3


